#ifndef POINTS_H
#define POINTS_H
#include <printing.hpp>
#include <vector>
namespace ohe_framework {

class Point
{
public:
	unsigned int x;
	unsigned int y;
	Point();
	Point(unsigned short x_value,unsigned short y_value);
	~Point();
};


class Blob
{
protected:
	std::vector<Point> points;
	unsigned int no_of_points;
	//Point center;
public:
	Blob();
	~Blob();
	int getNoOfPoints();
	void addPoint(Point point);
	bool addPoint(Point point, const int index);
	bool removePoint(Point& point);
	bool removePoint(int index);
	int getArea();
	void getCenter(Point &center);
    std::vector<Point>* getPoints();
	void getBoundingRectangle(Point& start,Point& end);
};

} // end namespace ohe_framework
#endif
